home *** CD-ROM | disk | FTP | other *** search
/ PC Player 2004 May / pc player 2004-05.iso / Demos / FarCry / Data1.cab / _17B9274098EC418F8013B76F604563BD < prev    next >
Encoding:
Text File  |  2004-01-06  |  1.8 KB  |  51 lines

  1. // ===============================================================
  2. // Vertex Program: 
  3. // Description: 
  4. // Last Update: 14/08/2003
  5. // Coder: Andrey Honich
  6. // ===============================================================
  7.  
  8.       #include "../CGVPMacro.csi"
  9.  
  10.       VertAttributes { POSITION_3 TEXCOORD0_2 }
  11.  
  12.       VS20Only
  13.  
  14.       NoFog      
  15.       Param4f (Name = Bend Comp 'ObjWaveX' Comp 'ObjWaveY' Comp 'Bending' Comp = 1)
  16.       MainInput { VIEWPROJ_MATRIX, uniform float4x4 TexGen0, uniform float4x4 TexGen1, uniform float4x4 TexGen2, uniform float4x4 TexGen3, BEND, TEX_MATRIX2x4, uniform float2x4 ShadowModelMatr0, uniform float2x4 ShadowModelMatr1, uniform float2x4 ShadowModelMatr2, uniform float2x4 ShadowModelMatr3, uniform float ShadowBias }
  17.       DeclarationsScript
  18.       {
  19.         IN_T0
  20.         OUT_T0_T1_T2_T3_T4_T5_T6
  21.       }
  22.       PositionScript = PosBending                 
  23.       CoreScript
  24.       {
  25.         OUT.Tex0 = mul(TexGen0, vPos);          
  26.         OUT.Tex1 = mul(TexGen1, vPos);          
  27.         OUT.Tex2 = mul(TexGen2, vPos);          
  28.         OUT.Tex3 = mul(TexGen3, vPos);          
  29.         OUT.Tex4.xy = mul(TexMatrix, IN.TexCoord0);
  30.  
  31.         float fZ = dot(ShadowModelMatr0._11_12_13_14, vPos);
  32.         float fW = dot(ShadowModelMatr0._21_22_23_24, vPos);
  33.         OUT.Tex5.x = fZ;
  34.         OUT.Tex5.y = fW;
  35.  
  36.         fZ = dot(ShadowModelMatr1._11_12_13_14, vPos);
  37.         fW = dot(ShadowModelMatr1._21_22_23_24, vPos);
  38.         OUT.Tex5.z = fZ;
  39.         OUT.Tex5.w = fW;
  40.  
  41.         fZ = dot(ShadowModelMatr2._11_12_13_14, vPos);
  42.         fW = dot(ShadowModelMatr2._21_22_23_24, vPos);
  43.         OUT.Tex6.x = fZ;
  44.         OUT.Tex6.y = fW;
  45.  
  46.         fZ = dot(ShadowModelMatr3._11_12_13_14, vPos);
  47.         fW = dot(ShadowModelMatr3._21_22_23_24, vPos);
  48.         OUT.Tex6.z = fZ;
  49.         OUT.Tex6.w = fW;
  50.       }
  51.